When a transmitter in a communication system transmits data to a receiver, undesired high power replica data is generated by the transmitter. This replica data is called an echo. When an echo is received by the local receiver, it may cause corruption to the overall communication system. Cancelling these echo signals is highly desired for clearer communication. Another form of interference is NEXT. NEXT is caused by signals in neighboring communication links onto a receiver. Cancelling NEXT signals is also highly desired too. Echo cancellation involves first recognizing the originally transmitted signal that re-appears in the communication link with some delay in the transmitted or received signal. Once the echo is recognized, it is removed by subtracting it from the transmitted or received signal. The echo is recognized by identifying weight coefficients of the echo signal that in turn requires signal processing techniques.
The most common technique to cancel echo is to use adaptive Finite Impulse Responses Filters (FIR) implementing Fast Fourier Transformation (FFT) algorithms and gradient correlation. FIG. 1 shows a traditional echo cancelling architecture. Since the frequency-domain adaptive algorithms inherently perform circular convolution, adaptive filters usually require gradient constraints (GC) in the least-means-square (LMS) procedure. LMS algorithm is a well known algorithm to estimate coefficients of an error signal. A person of ordinary skill in the art may realize that circular convolution generates elements that correspond to a subset of linear convolution. Thus, techniques like overlap-save and overlap-add may be used for performing linear convolution. However, these signal processing techniques are computation heavy and require extensive hardware and clock cycles to compute echo coefficients.